#pragma once

#include <windows.h>

struct MSG_BASE;
class User;
class GMCmdManager;

class Handler_CW
{
public:
	static VOID		OnCW_HEARTBEAT( User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_WHISPER_SYN( User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_NOTICE_SYN( User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_WHISPER_SET_SYN( User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_CHAT_VILLAGE_SYN( User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_CHAT_BATTLE_SYN(User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_CHAT_SHOUT_SYN( User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_GM_NOTICE_SYN( User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_GM_STRING_CMD_SYN( User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_VIEWPORT_CHARSTATE( User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_ARMORKIT_FINDHACK_SYN( User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_FRIEND_NEWLIST_SYN( User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_FRIEND_ADD_SYN( User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_FRIEND_OK_SYN( User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_FRIEND_NO_SYN( User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_FRIEND_DEL_SYN( User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_FRIEND_BLOCK_SYN( User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_FRIEND_BLOCK_FREE_SYN( User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_FRIEND_CHAT_SYN( User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_FRIEND_CHATBLOCK_SYN( User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_GUILD_MEMBER_SYN( User *pUser, MSG_BASE *pMsg, WORD wSize );
	static VOID		OnCW_GUILD_CHAT_SYN( User *pUser, MSG_BASE *pMsg, WORD wSize );

	static GMCmdManager	m_GMCmdManager;
};
